home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / documents / OpenGL / extensions / spec / visual_rating.spec < prev   
Encoding:
Text File  |  1996-11-11  |  5.0 KB  |  156 lines

  1. Name
  2.  
  3.     EXT_visual_rating
  4.  
  5. Name Strings
  6.  
  7.     GLX_EXT_visual_rating
  8.  
  9. Version
  10.  
  11.     $Date: 1995/09/30 02:33:57 $ $Revision: 1.1 $
  12.  
  13. Number
  14.  
  15.     44
  16.  
  17. Dependencies
  18.  
  19.     None
  20.  
  21. Overview
  22.  
  23.     This extension allows servers to identify each GLX visual as belonging
  24.     to one of three categories: good, bad, and ugly.  A visual's category,
  25.     called its rating, is queried using glXGetConfig, and can therefore be
  26.     used by application-specific visual selection routines.  The rating is
  27.     also used by glXChooseVisual as a part of its selection criteria.
  28.     Good visuals are treated as they would be if the extension were not
  29.     present.  Bad visuals are returned only if no good visual satisfies the
  30.     specified requirements.  Ugly visuals are returned only if the token
  31.     value GLX_UGLY_VISUAL_OK_EXT is included in <attrib_list>, and then only
  32.     if no good or bad visual satisfies the other specified requirements.
  33.  
  34.     This extension allows servers to export visuals with improved features
  35.     or image quality, but lower performance or greater system burden,
  36.     without having to have these visuals selected preferentially.  It is
  37.     intended to insure that most applications get the "right" visual, not
  38.     that all applications do.
  39.  
  40. Issues
  41.  
  42.     Can we get away with naming the ratings good, bad, and ugly? :-)
  43.  
  44.     This extension changes the behavior of glXChooseVisual, and will
  45.     therefore affect the operation of existing GL applications.
  46.  
  47. Reasoning
  48.  
  49.     This extension is designed to be automatic -- applications don't have
  50.     to use it explicitly.  The only explicit action an application can take
  51.     is to allow glXChooseVisual to return ugly visuals.  glXChooseVisual
  52.     always prefers good visuals over bad ones, and by default will not
  53.     return an ugly visual.
  54.  
  55.     Because unrated visuals are treated as good visuals, applications need
  56.     not concern themselves with whether a server supports EXT_visual_rating
  57.     or not.  This allows operation to be automatic.
  58.  
  59. New Procedures and Functions
  60.  
  61.     None
  62.  
  63. New Tokens
  64.  
  65.     Accepted by the <attribute> parameter of glXGetConfig:
  66.  
  67.     GLX_VISUAL_RATING_EXT        0x20
  68.  
  69.     Accepted by the <attrib_list> parameter of glXChooseVisual:
  70.  
  71.     GLX_UGLY_VISUAL_OK_EXT        0x21
  72.  
  73.     Returned by the <value> parameter of glXGetConfig:
  74.  
  75.     GLX_GOOD_VISUAL_EXT        0x1
  76.     GLX_BAD_VISUAL_EXT        0x2
  77.     GLX_UGLY_VISUAL_EXT        0x3
  78.  
  79. Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
  80.  
  81.     None
  82.  
  83. Additions to Chapter 3 of the 1.0 Specification (Rasterization)
  84.  
  85.     None
  86.  
  87. Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
  88. and the Frame Buffer)
  89.  
  90.     None
  91.  
  92. Additions to Chapter 5 of the 1.0 Specification (Special Functions)
  93.  
  94.     None
  95.  
  96. Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
  97.  
  98.     None
  99.  
  100. Additions to the GLX Specification
  101.  
  102.     When called with <attribute> set to GLX_VISUAL_RATING_EXT, glXGetConfig
  103.     returns in parameter <value> one of three values: GLX_GOOD_VISUAL_EXT,
  104.     GLX_BAD_VISUAL_EXT, or GLX_UGLY_VISUAL_EXT.  The returned value is
  105.     known as the rating of the visual.
  106.  
  107.     glXChooseVisual returns a pointer to an XVisualInfo structure describing
  108.     the visual with rating GLX_GOOD_VISUAL_EXT that best meets a minimum
  109.     specification.  If no visual with rating GLX_GOOD_VISUAL_EXT meets the
  110.     minimum specification, glXChooseVisual returns a pointer to an
  111.     XVisualInfo structure describing the visual with rating
  112.     GLX_BAD_VISUAL_EXT that best meets a minimum specification.  If no
  113.     visual with rating GLX_GOOD_VISUAL_EXT or GLX_BAD_VISUAL_EXT meets the
  114.     minimum specification, and if <attrib_list> includes the parameter
  115.     GLX_UGLY_VISUAL_OK_EXT, glXChooseVisual returns a pointer to an
  116.     XVisualInfo structure describing the visual with rating
  117.     GLX_UGLY_VISUAL_EXT that best meets the minimum specification.
  118.     Otherwise, glXChooseVisual returns NULL.
  119.  
  120.     If the server doesn't support EXT_visual_rating, GLX client
  121.     implementations treat all visuals as having rating GLX_GOOD_VISUAL_EXT.
  122.     Individual visuals that are not rated are also treated as good visuals.
  123.     A client that supports EXT_visual_rating will insure that the string
  124.     GLX_EXT_visual_rating is returned by glXQueryExtensionsString,
  125.     regardless of whether the server supports EXT_visual_rating.
  126.  
  127. GLX Protocol
  128.  
  129.     A single additional property type/property value pair may be included in
  130.     the property list of each visual returned by glXGetVisualConfigs.  This
  131.     property type/property value pair is encoded as
  132.  
  133.      4         ENUM            property type
  134.                0x20            GLX_VISUAL_RATING_EXT
  135.      4         ENUM            property value
  136.                0x1             GLX_GOOD_VISUAL_EXT
  137.                0x2             GLX_BAD_VISUAL_EXT
  138.                0x3             GLX_UGLY_VISUAL_EXT
  139.  
  140.  
  141.     If this property type/property value pair is not specified for a visual,
  142.     that visual is understood to have rating GLX_GOOD_VISUAL_EXT.
  143.  
  144.  
  145. Errors
  146.  
  147.     None
  148.  
  149. New State
  150.  
  151.     No GL state
  152.  
  153. New Implementation Dependent State
  154.  
  155.     None
  156.